ナビゲーション:前へ 上へ 次へ
11.9 更新されたIEEE算術機能
-
[7.0]
モジュール
IEEE_ARITHMETIC
には、新しい関数IEEE_NEXT_DOWN
とIEEE_NEXT_UP
が含まれます。 これらは単一の引数を持つ要素であり、IEEE種別のREAL
である必要があります(つまり、IEEE_SUPPORT_DATATYPE
はその種別のREAL
に対して.TRUE.
を返す必要があります)。 これらは、引数と等しくない次のIEEE値を、それぞれ下方向と上方向に関して返します。 ただし、−∞からの次の下方向は−∞自体であり、+∞からの上方向は+∞自体です。 これらの関数は、引数がシグナリングNaN(この場合はIEEE_INVALID
がシグナリングされる)でない限り、 例外を通知しないという点で、古いIEEE_NEXT_AFTER
関数よりも優れています。たとえば、
IEEE_NEXT_UP(-0.0)
とIEEE_NEXT_UP(+0.0)
はどちらも、IEEE_UNDERFLOW
を通知せずに、最小の正の非正規値を返します(非正規値がサポートされている場合(IEEE_NEXT_AFTER
はこれをサポートする))。同様に、
IEEE_NEXT_UP(HUGE(0.0))
は、シグナリングオーバーフローなしで+∞を返します。 -
[7.0]
モジュール
IEEE_ARITHMETIC
には、新しい名前付き定数IEEE_NEGATIVE_SUBNORMAL
、IEEE_POSITIVE_SUBNORMAL
、および新しい関数IEEE_SUPPORT_SUBNORMAL
が含まれます。 これらはFortran2018からのものであり、2008年のIEEE算術標準の用語の変更を反映しています。 これらは、古い関数IEEE_NEGATIVE_DENORMAL
、IEEE_POSITIVE_DENORMAL
、およびIEEE_SUPPORT_DENORMAL
と同等です。 -
[7.0]
IEEE_GET_FLAG
およびIEEE_SET_FLAG
に対するFLAG_VALUE
引数、IEEE_GET_HALTING_MODE
およびIEEE_SET_HALTING_MODE
に対するHALTING
引数、IEEE_GET_UNDERFLOW_MODE
およびIEEE_SET_UNDERFLOW_MODE
GRADUAL
に対する基本種別のLOGICAL
はそれぞれ必須ではなくなり、あらゆる種別のLOGICAL
が許可されるようになりました。例)
USE F90_KIND USE IEEE_ARITHMETIC LOGICAL(byte) flags(SIZE(IEEE_ALL)) CALL IEEE_GET_FLAG(IEEE_ALL,flags)
上記は現在のIEEEフラグを1バイトのLOGICAL
の配列に格納します。